package com.harry.hr.dao;

import java.util.List;

import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Order;

import com.harry.hr.entity.system.Menu;
import com.harry.hr.entity.system.Role;

public interface MenuDAO {
	/**
	 * 添加新菜单
	 * @param menu 菜单
	 */
	void save(Menu menu);
	/**
	 * 修改菜单
	 * @param menu 菜单
	 */
	void update(Menu menu);
	/**
	 * 删除菜单(逻辑)
	 * @param menu 菜单
	 */
	void delete(Menu menu);
	/**
	 * 清除菜单(物理)
	 * @param menu 菜单
	 */
	void clear(Menu menu);
	/**
	 * 根据角色查询菜单
	 * @param role 角色
	 * @return 菜单列表
	 */
	List<Menu> query(Role role);
	
	/**
	 * 菜单的模糊查询
	 * @param menu
	 * @param mode
	 * @param order
	 * @return
	 */
	List<Menu> query(Menu menu,MatchMode mode,Order order);
	/**
	 * 根据编号获取菜单明细
	 * @param id 编号
	 * @return 菜单明细
	 */
	Menu getById(int id);
 
}
